package com.example.mapping.convert;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;

import java.util.List;

/**
 * 转换器接口
 * @author baoyoujia
 * @param <MODEL>
 * @param <DTO>
 * @param <VO>
 */
public interface ConvertPlusMapper<MODEL, DTO, VO> {

    VO model2Vo(MODEL model);

    List<VO> model2Vo(List<MODEL> models);

    Page<VO> modelPage2Vo(Page<MODEL> modelPage);

    PageDTO<VO> modelPage2Vo(PageDTO<MODEL> modelPage);

    MODEL dto2Model(DTO dto);

    List<MODEL> dto2Model(List<DTO> dtos);
}
